====== Comment appliquer un *.debdiff à un paquet ======

Il arrive que sur [[http://launchpad.net|Launchpad]], certains développeurs postent des fichiers *.debdiff pour résoudre le bug. Ces fichiers contiennent en fait une liste des changements du paquet par rapport à l'ancien, dans notre cas, ce sont les modifications qui ont été appliquées au paquet deb pour résoudre le bug. On va donc apprendre à appliquer ce debdiff pour avoir un nouveau paquet fonctionnel.

La marche à suivre est simple: récupération de la source du paquet, création du paquet original, récupération du debdiff, recompilation du paquet suivant le debdiff, installation du paquet, bonheur. Rassurez vous, c'est très simple.

<note>Dans la suite du tutorial, nous appellerons le paquet à traiter PAQUET. Pensez donc à bien remplacer PAQUET par le paquet que vous souhaitez traitez.</note>
//Exemple : Je veux appliquer mon debdiff à **Rhythmbox** : mon deb s'appelle sûrement rhythmbox0.11.5-ubuntuxxx, mais le nom du paquet reste rhythmbox. Je remplace donc PAQUET par **rhythmbox** tout le temps.//

== Outils de constructions ==
Tout ce qui va nous servir à compiler notre paquet.
<code>sudo apt-get install build-essential fakeroot devscripts</code>
 
== Créer le répertoire de travail (optionnel) ==
Je vous conseille de le faire, ça rendra votre travail plus clair.
<code>mkdir PAQUET && cd PAQUET</code>

== Récupérer le *.debdiff ==
Si ce n'est déjà fait :
<code>wget http://URL... </code>

== Récupérer la source du paquet ==
Notez qu'il n'est pas nécessaire de le faire en sudo, puisqu'on n'installe rien.
<code>apt-get source PAQUET</code>

== Récupérer les dépendances du paquet ==
Toutes les librairies nécessaires à la compilation du paquet.
<code>sudo apt-get build-dep PAQUET</code>

== Appliquer le debdiff ==
Ici, on applique le debdiff dans le répertoire source de notre paquet. Pensez à remplacer DEBDIFF par le nom de votre fichier debdiff.
<code>cd PAQUET-* && patch -p1 < ../DEBDIFF</code>

== Compiler le nouveau paquet ==
Régénération du paquet avec les nouvelles modifications.
<code>debuild -uc -us</code>

== Installer le nouveau paquet ==
Et enfin...
<code>sudo dpkg -i ../PAQUET*.deb</code>

Et voilà, si tout s'est bien passé vous disposez à présent de la version mise à jour du paquet. Notez que certaines étapes (la récupération des sources, la compilation) peuvent prendre pas mal de temps.



----
//Contributeurs : [[utilisateurs:orkerone|Steph/orkerone]]//, d'après [[https://wiki.ubuntu.com/UbuntuPackagingGuide/BuildFromDebdiff|la documentation originale]].
